// pages/addmenu/addmenu.js
import Api from '../../utils/Api';
import Config from '../../utils/Config';
Page({

    /**
     * 页面的初始数据
     */
    data: {
       focusInput:0,
       recipeTypeList:[],
       files:[],
       state:false
    },
    onLoad(options){
        this.getRecipesType();

        this.setData({state:wx.getStorageSync('state')});
    },
    // 获取分类
    async getRecipesType(){
        var recipeTypeList =  (await Api.getAllData(Config.tableName.recipeType)).data;
        this.setData({
            recipeTypeList
        })
    },
    // 上传图片
    chooseImg(e){
        console.log(e)
        var files = e.detail.tempFilePaths.map(item=>{
            return {url:item}
        })
        this.setData({
            files:this.data.files.concat(files)
        });
    },
    // 取消上传
    deleteImage(e){
        console.log(e);
        this.data.files.splice(e.detail.index,1);
        this.setData({
            files:this.data.files
        })
    },
    // 提交表单
    async submitRecipe(e){
        var data = e.detail.value;
        // 检验是否填写完整
        if(!data.recipeName || !data.recipeTypeId || !data.recipeMakes || this.data.files.length==0){
            wx.showToast({
              title: '菜谱还没有填写完整哦',
              icon:'none'
            });
            return;
        }
        wx.showLoading({
          title: '提交中请稍等'
        })
        // 上传图片
        data.files = await this.uploadImages(this.data.files);
        // 菜谱状态
        data.status = 1;
        // follows
        data.follows = 0;
        data.views = 0;
        // star
        data.star = 0;
        // 创建时间
        data.createDate = (new Date()).getTime();
        // console.log(data);
        // 上传数据
        Api.addData(Config.tableName.recipesTable,data).then(res=>{
            wx.hideLoading();
            if(res._id){
                wx.showToast({
                  title: '提交成功！',
                });
                setTimeout(()=>{
                    wx.navigateTo({
                        url: '../index/index?page=2',
                      });
                },500);
            }
        })
    },
    // 上传图片的方法
    // files:[{url:'path'}]
    async uploadImages(files){
        var task = files.map(item=>{
            // 获取后缀
            var extend = item.url.split('.').pop();
            return wx.cloud.uploadFile({
                cloudPath:'recipeFile/' + (new Date()).getTime() + '.' + extend,
                filePath:item.url
            });
        });
        // 获取返回的图片id
        var newFiles = (await Promise.all(task)).map((item)=>{
            return item.fileID;
        })
        return newFiles;
    },
    nowFocus(e){
        this.setData({
            focusInput:e.currentTarget.dataset.index
        })
    },
    inpBlur(e){
        this.setData({
            focusInput:0
        })
    }
})